home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / dvips / special.pro < prev    next >
Encoding:
Text File  |  1990-02-27  |  3.7 KB  |  52 lines

  1. %!
  2. TeXDict begin /SDict 200 dict def SDict begin /@SpecialDefaults{/hs 612 def
  3. /vs 792 def /ho 0 def /vo 0 def /hsc 1 def /vsc 1 def /ang 0 def /CLIP false
  4. def /BBcalc false def}bdf /@scaleunit 100 def /@hscale{@scaleunit div /hsc
  5. exch def}bdf /@vscale{@scaleunit div /vsc exch def}bdf /@hsize{/hs exch def
  6. /CLIP true def}bdf /@vsize{/vs exch def /CLIP true def}bdf /@hoffset{/ho exch
  7. def}bdf /@voffset{/vo exch def}bdf /@angle{/ang exch def}bdf /@rwi{10 div /rwi
  8. exch def}bdf /@llx{/llx exch def}bdf /@lly{/lly exch def}bdf /@urx{/urx exch
  9. def}bdf /@ury{/ury exch def /BBcalc true def}bdf end /@MacSetUp{userdict /md
  10. known{userdict /md get type /dicttype eq{md begin /letter{}def /note{}def
  11. /legal{}def /od{txpose 1 0 mtx defaultmatrix dtransform exch atan/pa exch def
  12. newpath clippath mark{transform{itransform moveto}}{transform{itransform
  13. lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
  14. itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
  15. closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put
  16. 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}def /txpose{pxs pys
  17. scale ppr aload pop por{noflips{pop exch neg exch translate pop 1 -1 scale}if
  18. xflip yflip and{pop exch neg exch translate 180 rotate 1 -1 scale ppr 3 get
  19. ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg translate}if xflip yflip
  20. not and{pop exch neg exch translate pop 180 rotate ppr 3 get ppr 1 get neg sub
  21. neg 0 translate}if yflip xflip not and{ppr 1 get neg ppr 0 get neg translate}
  22. if}{noflips{translate pop pop 270 rotate 1 -1 scale}if xflip yflip and{
  23. translate pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2
  24. get ppr 0 get neg sub neg translate}if xflip yflip not and{translate pop pop
  25. 90 rotate ppr 3 get ppr 1 get neg sub neg 0 translate}if yflip xflip not and{
  26. translate pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 exch translate}
  27. if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2
  28. copy translate .96 dup scale neg exch neg exch translate}if}def /cp{pop pop
  29. showpage pm restore}def end}if}if}def /psf$TeXscale{65536 div}def /startTexFig
  30. {/psf$SavedState save def userdict maxlength dict begin Resolution 72 div dup
  31. neg scale currentpoint translate /psf$ury exch psf$TeXscale def /psf$urx exch
  32. psf$TeXscale def /psf$lly exch psf$TeXscale def /psf$llx exch psf$TeXscale def
  33. /psf$y exch psf$TeXscale def /psf$x exch psf$TeXscale def currentpoint /psf$cy
  34. exch def /psf$cx exch def /psf$sx psf$x psf$urx psf$llx sub div def /psf$sy
  35. psf$y psf$ury psf$lly sub div def psf$sx psf$sy scale psf$cx psf$sx div
  36. psf$llx sub psf$cy psf$sy div psf$ury sub translate /showpage{}def /erasepage{
  37. }def /copypage{}def @MacSetUp}def /doclip{psf$llx psf$lly psf$urx psf$ury
  38. currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto
  39. exch lineto exch lineto closepath clip newpath moveto}def /endTexFig{end
  40. psf$SavedState restore}def /@beginspecial{SDict begin /SpecialSave save def
  41. gsave Resolution 72 div dup neg scale currentpoint translate @SpecialDefaults}
  42. bdf /@setspecial{CLIP{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0
  43. rlineto closepath clip}{initclip}ifelse ho vo translate hsc vsc scale ang
  44. rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg translate}if
  45. /showpage{}def newpath}bdf /@endspecial{grestore clear SpecialSave restore end
  46. }bdf /@defspecial{SDict begin}bdf /@fedspecial{end}bdf /li{lineto}bdf /rl{
  47. rlineto}bdf /rc{rcurveto}bdf /np{/SaveX currentpoint /SaveY exch def def
  48. newpath}bdf /st{stroke SaveX SaveY moveto}bdf /fil{fill SaveX SaveY moveto}
  49. bdf /ellipse{/endangle exch def /startangle exch def /yrad exch def /xrad exch
  50. def /savematrix matrix currentmatrix def translate xrad yrad scale 0 0 1
  51. startangle endangle arc savematrix setmatrix}bdf end
  52.